最近在调试公司项目的推送的时候遇到了点小问题,死活收不到推送消息。
由于接受公司项目的时候极光推送是已经集成上去了的,虽然说本地调试的时候会经常看见失败这种情况,一直也知道极光推送可能会出现一些收不到消息的问题,所以并没有在意。
后来公司需要通过tag给不同组别的用户推送消息,所以也要开始看一下以前的代码。果然还是被我发现了问题。
Q1
在登陆的时候设置了别名,但是在Appdelegate中并没有设置。
这中情况会造成app在保存密码之后进入app不会在走道登录界面,所以并不会设置别名什么的。这个时候的推送应该是收不到的。
这个我没有测试过,看了之前的代码之后直接的添加了相关代码,运行后并没有什么问题。
Q2
报错APNs is not available, please check your provisioning profile and certification
这个可能就全是我自身造成的了,为了尝鲜Swift3.0 下了Xcode8.0beta 来玩玩,然后本来是Xcode7.0打开的项目文件,默认8.0了,然后不小心运行到了公司的项目。很悲剧的是,Xcode8.0 是默认关闭Push Notifications的,Xcode中手动打开就ok了。然后其它添加证书什么的, 真的没什么好说的, 极光在文档中也已经描述的非常清楚了。
设置步骤: taget -> Capabilities -> PushNotification -> ON
Q3
设置别名悲剧 : app not registed, give up set tag: alias:
这是由于记住密码的情况下,设置别名什么的和注册极光等都是在很短的时间内,这个时候掉用的话,可能极光推送还不可用,所以就悲剧了.
解决方案:延迟调用设置别名的方法。
|
|
ending
在集成的时候还是要注意一下方法的调用顺序, 别在注册JPush之前去设置什么东西吧! 猜想:这肯定是有问题的。